Active Directory 数据库是什么
Active Directory数据库是一个事务处理数据库系统,使用日志文件存储事务日志,具备“回滚”功能,确保将系统发生异常的时候完成数据的入库操作。尽管如此,也应时刻做好数据库信息的备份操作,以免由于硬件损坏或其他故障导致用户信息丢失。在Active Directory中,存储的数据包含有数据库文件和管理用户,服务和应用程序的目录信息的数据库文件和进程。
Active Directory数据库组件包括以下三个服务组件,四个接口和实际存储数据的目录数据库:
4个接口:
Lightweight Directory Access Protocol (LDAP), replication (REPL) and domain controller management interface, Messaging API (MAPI), Security Accounts Manager (SAM))
主要是提供给客户端与服务器端的交流。Directory System Agent (DSA) (Ntdsa.dll)
DSA在每个域控制器上作为Ntdsa.dll运行,提供客户端和其他服务器通过其访问目录数据库的接口。Database layer
数据库层是在ntdsa.dll中的,并提供应用程序和目录数据库之间的接口,以保护数据库不与应用程序的直接交互。由于目录数据库是扁平的,没有分层命名空间,因此数据库层为数据库提供了对象层次结构的抽象。Extensible Storage Engine (ESE) (Esent.dll)
ESE作为Esent.dll运行,管理组成目录数据库的记录表 – 每个记录包含一个或多个列。Database files
数据存储将目录信息存储在名为Ntds.dit的单个数据库文件中。 此外,数据存储还使用日志文件,临时写入未提交的事务。